Logic Meta-Programming Facilities in 'LOG
نویسندگان
چکیده
A meta-level extension of a logic programming language is presented. The resulting language, called 'LOG (read quote-log), provides meta-programming facilities similar to those of Prolog while preserving a declarative logical semantics. It also offers new meta-programming opportunities as compared with Prolog due to its ability to treat whole programs, i.e. sequences of clauses, as data objects. The extension basically consists in defining a suitable naming scheme. It associates two different but related meta-representations with every syntactic object of the language, from characters to programs. The choice of the double metarepresentation is motivated by both the user and the implementation viewpoints. All Prolog built-in meta-predicates can be redefined as 'LOG programs by exploiting the new naming scheme. Then some syntactic sugar is added to make the language more concrete. Some examples are given, in particular to show the ability of the language to deal with programs as data.
منابع مشابه
Logic Meta-programming in 'log
In this paper we face the problem of introducing meta-programming facilities into a logic programming language. The extension essentially consists of the definition of a naming scheme associating two different but related meta-representations to every syntactic entity of the language (from characters to programs) which allow the programmer to refer to an entity at two different detail levels. T...
متن کاملA WAM Implementation for the Logic Meta Programming Language 'Log
A technique for compiling the meta-programming logic programming language 'Log (read quote log) is presented and the extensions to the standard Warren Abstract Machine (WAM) architecture necessary to support the execution of 'Log programs are described. 'Log is a logic programming language upgraded with a flexible naming scheme and a set of operators allowing each syntactic entity to be referre...
متن کاملProgramming with Sets and Multisets
I briefly discuss the facilities for programming with sets and multisets provided by the programming language Escher, which is a general-purpose, declarative language that integrates the best features of both functional and logic programming languages. Escher has types and modules, higher-order and meta-programming facilities, concurrency, and declarative input/output. The main design aim is to...
متن کاملFirst Steps in Integrating {log} into Z/EVES
{log} is a Constraint Logic Programming language implementing a general theory of sets. As such it can determine the satisfiability of a large family of set formulas. Z/EVES is a proof assistant specifically tailored for the Z notation. In turn, the Z notation is based on a theory of sets. Hence, Z/EVES provides many facilities to prove theorems about set theory. We have observed that there are...
متن کاملStochastic Facilities location Model by Using Stochastic Programming
Finding the location for plans like factories or warehousesfor any organization is an important and strategic decision. Costs oftransportation which are the main part of the price of the goods, is thefunction of the location of these projects. to find the optimum locationof these projects, there have been various methods proposed which areusually defined (not random). In reality and in dealing ...
متن کامل